package com.whminwei.edu.api.tchbase.dto.fspn;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 人培方案完整信息列表
 *
 * @author zhangjq
 * @since 2024/5/28
 */
@Data
@NoArgsConstructor
public class MainEduSchemeFspn {

    @JsonValue
    private List<MainEduSchemeBo> eduSchemeBoList;

    @JsonCreator
    public MainEduSchemeFspn(List<MainEduSchemeBo> eduSchemeBoList) {
        this.eduSchemeBoList = eduSchemeBoList;
    }

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class CourseBo {
        /**
         * 课程
         */
        private String courseId;
        /**
         * 考试标识
         */
        private String examFlag;
        /**
         * 课程性质
         */
        private String courseKind;
        /**
         * 当前学期课程计划周课时
         */
        private int weeklyHours;
        /**
         * 当前学期计划总周数
         */
        private int weeks;
        /**
         * 实践课程占比
         */
        private double practicRatio;
    }

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class MainEduSchemeBo {
        /**
         * 人培方案ID
         */
        private String eduSchemeId;
        /**
         * 入学年级
         */
        private Integer year;
        /**
         * 系部ID
         */
        private String departmentId;
        /**
         * 专业ID
         */
        private String majorId;
        /**
         * 就业方向
         */
        private String direction;
        /**
         * 课程课时
         */
        private List<CourseBo> courseBos;
    }
}
